//package com.opensource.component.query.utils;
//
//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
//import com.opensource.component.query.FieldMapping;
//import com.opensource.component.query.OneToOneSelectBuild;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * @author ZL since on 2021/12/18 下午9:09
// */
//public class MappingUtil {
//
//  /**
//   * 对传入的map进行一对一的映射
//   *
//   * @param maps                 结果映射
//   * @param oneToOneSelectBuilds 一对一映射配置
//   * @return 映射后的map
//   */
//  public static void oneToOneMapping(List<Map<String, Object>> maps,
//      List<OneToOneSelectBuild> oneToOneSelectBuilds) {
//
//    for (OneToOneSelectBuild oneSelectBuild : oneToOneSelectBuilds) {
//      for (Map<String, Object> map : maps) {
//        Map<String, Object> oneToOneMap = new HashMap<>();
//        // 提取map中对应的一对一对应的值
//        for (FieldMapping fieldMapping : oneSelectBuild.getBelongsColumns()) {
//          final String key =
//              StringUtils.isNotEmpty(fieldMapping.getFieldName()) ? fieldMapping.getFieldName()
//                  : fieldMapping.getColumn();
//          final Object value = map.remove(fieldMapping.getColumn());
//          if (null != value) {
//            oneToOneMap.put(key, value);
//          }
//        }
//        map.put(oneSelectBuild.getOneToOneField(), oneToOneMap);
//      }
//    }
//  }
//
//  public static <E> void wrapperOneToOneMapping(List<Map<String, Object>> objectMap,
//      LambdaExtendWrapper<E> wrapper) {
//    List<OneToOneSelectBuild> oneToOneSelectBuildList = wrapper.getOneToOneSelectBuildList();
//    // 如果不为空就代表有一对一配置
//    if (CollectionUtils.isNotEmpty(oneToOneSelectBuildList)) {
//      oneToOneMapping(objectMap, oneToOneSelectBuildList);
//    }
//  }
//
//
//}
